package com.easytopit.demo.service;

import java.sql.Timestamp;
import java.util.List;

import com.easytopit.demo.domain.Comment;
import com.easytopit.demo.domain.Movie;
import com.easytopit.demo.domain.Score;
import com.easytopit.demo.domain.enumDomain.Status;

public interface MovieService {
	
	/**
	 * 检测片名
	 * @param name
	 * @return
	 */
	public String checkName(String name);
	
	/**
	 * 录入影片
	 * @param movie
	 */
	public void addMovie(String name,String cover,String profile,Status status,
		Timestamp onTime,String country,String director,String length);
	
	/**
	 * 检测版本
	 * @param name
	 * @return
	 */
	public String checkVersion(String name);
	
	/**
	 * 录入版本
	 * @param name
	 * @param version
	 * @param price
	 */
	public void addVersion(String name,String version,double price);
	
	/**
	 * 检测类型
	 * @param type
	 * @return
	 */
	public String checkType(String name);
	
	/**
	 * 录入类型
	 * @param name
	 * @param type
	 */
	public void addType(String name,String type);
	
	/**
	 * 检测演员
	 * @param name
	 * @return
	 */
	public String checkActor(String name);
	
	/**
	 * 录入演员
	 * @param name
	 * @param actor
	 */
	public void addActor(String name,String actor);
	
	/**
	 * 录入剧照
	 * @param name
	 * @param photo
	 */
	public void addPhoto(String name,String photo);
	
	/**
	 * 检测影院
	 * @param city
	 * @param name
	 * @return
	 */
	public String checkCinema(String city,String name);
	
	/**
	 * 影院
	 * @param name
	 * @param city
	 */
	public void addCinema(String city,String name);
	
	/**
	 * 检测影厅
	 * @param city
	 * @param name
	 * @return
	 */
	public String checkHall(String cinemaName,String name);
	
	/**
	 * 影厅
	 * @param cinemaName
	 * @param name
	 */
	public void addHall(String cinemaName,String name);
	
	/**
	 * 电影列表 
	 * @return
	 */
	public List<Movie> movieList();
	
	/**
	 * 根据状态查电影
	 * @param status
	 * @return
	 */
	public List<String> queryMovieByStatus(String status);
	
	/**
	 * 根据片名查电影(模糊查询)
	 * @param name
	 * @return
	 */
	public List<Movie> queryMovieByName(String name);
	
	/**
	 * 根据类型查片名
	 * @param type
	 * @return
	 */
	public List<String> queryMovieByType(String type);
	
	/**
	 * 根据演员查片名
	 * @param actor
	 * @return
	 */
	public List<String> queryMovieByActor(String actor);
	
	/**
	 * 根据导演查电影
	 * @param director
	 * @return
	 */
	public List<String> queryMovieByDirector(String director);
	
	/**
	 * 根据国家查电影
	 * @param country
	 * @return
	 */
	public List<String> queryMovieByCountry(String country);
	
	/**
	 * 根据名字查类型
	 * @param name
	 * @return
	 */
	public List<String> queryTypeByName(String name);
	
	/**
	 * 根据名字查演员
	 * @param name
	 * @return
	 */
	public List<String> queryActorByName(String name);
	
	/**
	 * 根据名字查剧照
	 * @param name
	 * @return
	 */
	public List<String> queryPhotoByName(String name);
	
	/**
	 * 根据用户名查评论
	 * @param name
	 * @return
	 */
	public List<Comment> queryCommentByUserName(String name);
	
	/**
	 * 根据名字查评论
	 * @param name
	 * @return
	 */
	public List<Comment> queryCommentByName(String name);
	
	/**
	 * 根据名字查评分
	 * @param name
	 * @return
	 */
	public List<Score> queryScoreByName(String name);
	
	/**
	 * 计算评分平均数
	 * @param name
	 * @return
	 */
	public Double avg(String name);

	public Double queryPriceByVersion(String movie, String version);
	
	
}